草庐IT

TypeScript 模块

全部标签

javascript - 使用 ES6、Webpack 和 Babel 导入 UMD 样式模块

我发现了一些与此相关的StackOverflow问题,但没有一个匹配或解决我的问题。我正在用ES6编写一个库,旨在用于浏览器和服务器。我找到了一些可以在服务器或浏览器上使用的HTTP请求库(popsicle,axios)。我已经在这两个地方成功地使用了这些库,但是在将它们导入我的源代码并使用输出的webpacked文件时遇到了一些问题。我导入axios库的ES6源文件是importaxiosfrom'axios';exportdefault{go:function(){returnaxios.get('http://www.google.com');}};我的webpack配置是var

javascript - Protractor + cucumber + typescript 失败

节点版本:4.4.5Protractor版本:3.3.0浏览器:chrome操作系统和版本Win7我正在尝试用typescript编写Protractor+cucumber组合。我的项目有一个简单的功能,可以打开页面并输入三个字段。我无法运行Protractor。它让我低于错误。$protractorprotractor.conf.js[13:40:55]I/hosted-Usingtheseleniumserverathttp://localhost:4444/wd/hub[13:40:55]I/launcher-Running1instancesofWebDriver⨯Unable

javascript - 如何将 TS 模块导入或要求到 CommonJS 文件中?

无论出于何种原因,我的一些模块必须是js文件。我像这样导入ts模块到我的js文件中:resolver.js:import{Message}from'../../connectors/message';//console.log('Message:',Message);constresolver={Query:{sendMessage:(root,args,ctx)=>{console.log(args,ctx);returnMessage.send('1','message');}}};export{resolver};message.ts:constMessage={send(id,

javascript - 在扩展 Controller (ES6)中注入(inject)模块导致未知提供者错误

我有一个Controller类ModalCtrl,我想创建一个子类ModalCtrlChildextendsModalCtrl。问题是,当我尝试这样做时,我在ModalCtrl中注入(inject)的任何模块中遇到未知提供程序错误。我用了this生成器来构建项目,它在幕后使用NgInject来注入(inject)依赖项,我怀疑那里发生了一些有趣的事情。模态控制:exportdefaultclassModalCtrl{staticgetUID(){return"ModalCtrl"}...//allmyModalCtrlmethodshere/*@ngInject*/constructo

javascript - Webpack resolve.root 和 TypeScript 加载器

我们的项目使用webpackresolve.root选项来导入具有绝对路径的模块。(避免像../../../module这样的东西)在目前的状态下,该项目正在使用babel-loader,它工作得很好。我的任务是将应用程序迁移到Angular2。因此,我目前正在过渡到TypeScript。不知何故,ts-loader似乎无法与webpack配置的resolve.root选项结合使用。webpack.config.js的例子resolve:{root:[path.resolve('./node_modules'),path.resolve('./app'),path.resolve('.

javascript - TypeScript - 是否有一个选项可以禁止在除 bool 值之外的任何内容之前使用“!”?

我知道这可能是一个典型的javascript问题,但我发现自己经常使用:if(!something){//...}在TypeScript中验证此something不是undefined或null。这很容易出错!当用于number时,“0”将匹配,当用于enum时,第一项也将匹配(默认情况下,第一项的值为“0”")!有没有办法在TypeScript中处理这个问题?有没有办法配置TypeScript以禁止在除boolean(和any)之外的任何内容前面使用感叹号?这种配置有意义还是我遗漏了一些微不足道的东西?应该:if(something===null||something===undef

javascript - typescript 中的 'd3 和 'd3-hexbin' 作为全局库

因此,我使用d3和d3-hexbin作为全局库:...并在.ts中将它们引用为://////...使用DefinitelyTyped定义。然而,尽管这有效:constsvg=d3.select('#hitmap').append('svg')...这个:consthexbin=d3.hexbin().radius(binsize+1)...失败并显示:Property'hexbin'doesnotexistontype'typeof"/Users/bytter/node_modules/@types/d3/index"'想法? 最佳答案

javascript - 使用 webpack 生成带打字文件的 typescript 库

目前我的构建过程是:使用ES6模块语法编写大量typescript文件生成一个index.ts,从一个点重新导出所有模块编译为CommonJS+系统输出描述符/输入文件这会生成一个index.js文件,该文件会重新导出所有内部文件,而无需开发人员使用它而无需了解它,以及许多反射(reflect)文件结构的d.ts文件。现在这行得通了,但是如果我要对浏览器采用这种方法,我将需要对所有js进行webpack,否则这将是拉入所有单个文件的http请求噩梦。目前,该库将作为其他库的依赖项使用,因此它不是逻辑的终点或任何它是模块/库的东西。现在的主要问题是关于webpack我知道我可以加载TS并

TypeScript详解十六:类型声明(declare)

目录前言一、类型声明的作用?1.1declare关键字1.2示例二、常见的几种类型声明2.1普通类型声明2.2外部枚举2.3命名空间三、类型声明文件3.1模拟类型声明文件,以jquery为例3.2使用手动实现的jquery.d.ts声明文件3.3第三方声明文件(以jquery为例)3.4npm声明文件可能存在的位置补充知识点总结前言在日常开发中几乎所有的项目都会应用许多第三方库来完成任务需求。这些第三方库不管是否是用TS编写的,最终都要编译成JS代码,才能发布给开发者使用。我们知道是TS提供了类型,才有了代码提示和类型保护等机制。但在项目开发中使用第三方库时,你会发现它们几乎都有相应的TS类型

【51单片机STC89C52】HC-SR04超声波模块测距

一、HC-SR04超声波模块1、简介HC-SR04超声波测距模块可提供2cm-400cm的非接触式距离感测功能,测距精度可达高达3mm;模块包括超声波发射器、接收器与控制电路。基本工作原理:(1)采用IO口TRIG触发测距,给最少10us的高电平信呈。(2)模块自动发送8个40khz的方波,自动检测是否有信号返回;(3)有信号返回,通过IO口ECHO输出一个高电平,高电平持续的时间就是超声波从发射到返回的时间。测试距离=(高电平时间*声速(340M/S))/2;让它发送波:给Trig端口至少10us的高电平开始发送波:Echo信号由低电平跳转到高电平接收返回波:Echo信号由高电平跳转回低电平